// Copyright (c) 2005  INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of cgal-python; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; version 2.1 of the License.
// See the file LICENSE.LGPL distributed with cgal-python.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $Id: Py_Constrained_triangulation_2_doc.h 125 2006-06-06 16:27:38Z nmeskini $
// $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal-python/trunk/cgal-python/bindings/Triangulations_2/Py_Constrained_triangulation_2_doc.h $
//
// Author(s)     : Naceur Meskini
//=========================================================================
#ifndef CONSTRAINED_TRIANGULATION_2_DOCS_H
#define CONSTRAINED_TRIANGULATION_2_DOCS_H
//=======================================================
//	doc of Constrained_triangulation_2 class
//=======================================================

const char* Constrained_triangulation_2_doc ="\
A constrained triangulation is a triangulation of a set of points which has to include among \n\
its edges a given set of segments joining the points.The given segments are called constraints \n\
and the corresponding edges in the triangulation are called constrained edges.\n\
See a complete C++ documentation:\n\
http://www.cgal.org/Manual/3.2/doc_html/cgal_manual/Triangulation_2_ref/Class_Constrained_triangulation_2.html";

const char* init_doc ="\
ct = Constrained_triangulation_2()\n\
Introduces a constrained triangulation";

const char* insert_doc ="\
ct.insert(self,Point_2 p, Face f = Face()) -> Vertex\nInserts point p and restores the status (constrained or not) of all the touched edges. \n\
If present f is used as an hint for the location of p.\n\
See also the insert of the base class"; 

const char* push_back_doc ="\
ct.push_back(self,Point_2 p) -> Vertex\n\
Equivalent to insert(p).";

const char* insert_constraint_doc ="\
ct.insert_constraint(self,Point a, Point b) -> void\n\
Inserts points a and b, and inserts segment ab as a constraint. \n\
Removes the faces crossed by segment ab and creates new faces instead. \n\
If a vertex c lies on segment ab, constraint ab is replaced by the two\n\
constraints ac and cb. Apart from the insertion of a and b, the algorithm runs\n\
in time proportionnal to the number of removed triangles.\n\
Precondition: The relative interior of segment ab does not intersect the relative interior of another constrained edge.\n\n\
ct.insert_constraint(self,Vertex va,Vertex vb) -> void\n\
Inserts the line segment s whose endpoints are the vertices va and vb as a constrained edge e. \n\
The triangles intersected by s are removed and new ones are created."; 

const char* remove_doc ="\
ct.remove(self,Vertex v) -> void\n\
Removes a vertex v.\n\
Precondition: Vertex v is not incident to a constrained edge.";

const char* remove_constrained_edge_doc ="\
ct.remove_constrained_edge(self,Face f, int i) -> void\n\
Make edge (f,i) no longer constrained.";

const char* remove_incident_constraints_doc ="\
ct.remove_incident_constraints(self,Vertex v) -> void\n\
Make the edges incident to vertex v unconstrained edges."; 

const char* remove_constraint_doc ="\
remove_constraint(self) -> removes constraint";
 
const char* is_constrained_doc ="\
ct.is_constrained(self,Edge e) -> bool\n\
Returns true if edge e is a constrained edge.";

const char* are_there_incident_constraints_doc ="\
ct.are_there_incident_constraints(self,Vertex v) -> bool\n\
Returns true if at least one of the edges incident to vertex v is constrained.";
 
const char* is_valid_doc ="\
ct.is_valid(self,bool verbose = false, int level = 0) -> bool\n\
Checks the validity of the triangulation and the consistency of the constrained marks in edges.";
 
const char* incident_constraints_doc ="\
ct.incident_constraints(self,Vertex v) -> OutputItEdges\n\
OutputItEdges is an iterator which enumrates the constrained edges incident to v";

#endif //CONSTRAINED_TRIANGULATION_2_DOCS_H
